第 1 章 快速入门 ================================ | 本章旨在指导用户搭建 AC63N 硬件开发的软件环境,通过一些简单的示例展示如何使用AC63N_BT_SDK系列 (BlueTooth Software Development Kit ) 的配置菜单,指导固件代码的编译、下载并烧写至 AC63N 开发板等步骤。 .. admonition:: 注 该AC63N(2021年版本)的文档版本在持续开发中,另外包括 Stable version 的文档,以及其他版本的文档 AC63_BT_SDK 版本的系统配置可供参考。 概要 ############ AC63N系列 SoC 芯片支持以下功能: | 蓝牙双模(支持蓝牙EDR、蓝牙BLE5.2) | 超低功耗处理器 | 数传透传智能设备 | 支持低功耗RTC,闹钟和时基唤醒 | 支持浮点与数学函数加速运算 | 支持超低功耗蓝牙广播、连接待机、组网传输等 | 具有低延时远距离数据传输能力,满足音乐播放控制、智能控制、传感器收集数据传输及处理要求 | 支持LDO或DCDC供电模式 | 提供USB、按键 ADC、IIC、SPI、Q-decoder、MCPWM、LED CONTROL 等丰富的外设接口 准备工作 ############ 硬件 <<<<<<<<< | 一款 AC63N 开发板; | USB 数据线 (例如:A 转 Micro-B); | USB 下载器; | 电脑(Windows、Linux 或 Mac OS系统),以下说明以Windows系统安装编译为例。 软件 <<<<<<<<< | 您可以选择下载并手动安装以下软件: | 安装 “编译器-2.4.4”杰理工具链,用于编译 AC63N 代码; | 编译构建工具 ——CodeBlocks 为编译工具,用于编译 AC63N 应用程序; | 获取 AC63N 开发框架。该框架已经基本包含 AC63N 使用的 API(软件库和源代码)和运行工具链的脚本; 详细安装过程 ############ 第一步:安装工具链 ################### | 基于AC63N 的SDK开发,用户需要安装以下两个工具: 集成开发环境 Codeblocks <<<<<<<<<<<<<<<<<<<<<<<< | 下载路径为: http://pkgman.jieliapp.com/s/codeblocks 杰理编译器 <<<<<<<<< | 下载路径为:http://pkgman.jieliapp.com/s/win-toolchain .. admonition:: 注 需要先安装“集成开发环境 Codeblocks”,再安装“杰理编译器”。 第二步:包管理工具的安装 ############ | 包管理工具,是用于下载杰理SDK需要使用的工具,同时也负责打开 ``“.jlxproj”`` 后缀的文件。即,包管理工具负责从杰理服务器端,把SDK所需要的最新工具,下载到当前电脑。 | (包管理工具下载路径:http://jl-update.oss-cn-shenzhen.aliyuncs.com/jieli-pkgman-setup-latest.exe) | 双击 ``“latest.exe”`` 进行安装,按照提示安装完成即可,安装完成后,双击直接打开后缀为 ``“.jlxproj”`` 的文件。 第三步:配置工具使用 ############ | 打开sdk工程目录,进入``fw-AC63_BT_SDK-ac63_bt_sdk资料 ``cpu/bd19/tools/AC632N_config_tool`` 目录,如图1.1所示。 .. figure:: ../image/快速入门/图片1.png :width: 800 px :align: center 图1.1 双击【AC632N_配置工具入口(Config Tools Entry).jlxproj】,打开【杰理SDK工具】,如图1.2所示。 .. figure:: ../image/快速入门/图片2.png :width: 800 px :align: center 图1.2 【杰理SDK工具】界面说明: 1)编辑FW文件:点击【编辑FW文件】,可对一个FW文件的进行编辑,修改FW文件的通用配置、蓝牙配置、充电配置,界面如下图1.3所示。 .. figure:: ../image/快速入门/图片3.png :width: 800 px :align: center 图1.3 点击【配置恢复默认值】可以恢复sdk发布时的原始配置,配置完成后,点击【保存】,可选择保存路径保存修改过后的fw和ufw文件,如图1.4所示。 .. figure:: ../image/快速入门/图片4.png :width: 800 px :align: center 图1.4 2)显示原理图:点击【显示原理图】,可以打开一个“doc”的文件夹,可以在该文件夹下存放原理图等相关文件; 3)编译前配置:点击【编译前配置工具】,可以在sdk代码编译前进行相关项配置,打开界面如下图1.5所示。 .. figure:: ../image/快速入门/图片5.png :width: 800 px :align: center 图1.5 可以在【编译前配置工具】中进行通用配置、蓝牙配置,点击【配置恢复默认值】可以恢复sdk发布时的原始配置,配置完成后,点击【保存】保存配置,将会输出 ``cfg_tools.bin`` 文件到下载目录中,重新编译sdk代码可应用该最新配置; 4)打开下载目录:点击【打开下载目录】,将会打开tools下载目录, ``cfg_tools.bin`` 文件将会输出到该目录下; 5)检查依赖的软件包是否更新:点击【检查依赖的软件包是否更新】,将会查检查相关配置工具的版本更新情况,如有更新,则下载相应更新即可。 第四步:开始创建工程 ############ | 现在,您可以开始准备开发 AC63N 应用程序了。您可以从 fw-AC63_BT_SDK-ac63_bt_sdk资料 中 ``apps/hid/board/bd19`` 目录下的 ``AC632N_hid.cbp`` 工程开始。 .. admonition:: 注 AC63N 编译系统不支持带有空格的路径。 第五步:连接设备 ############ | 用 USB 线将 AC63N 开发板连接到 PC。一般情况下,当 AC63N 开发板与 PC 连接时,对应驱动程序应该已经被打包在操作系统中,并已经自动安装。 | 检查 Windows 的设备和驱动器。断开 AC63N 与 PC 的连接,然后重新连接,查看哪个USB设备从列表中消失后又再次出现,从而确定AC63N所对应的USB设备的名称。 | 连接USB下载器和PC检查 Windows 我的电脑中的设备和驱动器列表,如图1.6所示为CD驱动器(G)。 .. figure:: ../image/快速入门/图片6.png :height: 100 px :width: 800 px :align: center 图1.6 第六步:下载目录INI配置文件生成 ############ | 主要描述新版本SDK(v2.0.0及以后)对tools目录下 ``isd_config.ini`` 配置文件的配置和生成。 | SDK配置文件 ``isd_config.ini`` 由 ``isd_config_rule.c`` 根据对应板级配置 ``board_xxx_global_build_cfg.h`` 生成。 .. admonition:: 注 如果需要修改 ``isd_config.ini`` 配置文件,必须修改 ``board_xxx_global_build_cfg.h`` 或者 ``isd_config_rule.c`` ,如直接修改 ``isd_config.ini`` ,则每次编译修改将会被覆盖。 复位源配置 <<<<<<<<< | 在 ``board_xxx_global_build_cfg.h`` 头文件中,复位源的代码如下所示: .. code-block:: c //config long-press reset io pin,time,trigger level #if CONFIG_LP_TOUCH_KEY_EN #define CONFIG_RESET_PIN LDO //io pin #define CONFIG_RESET_TIME 4 //unit:second #define CONFIG_RESET_LEVEL 1 //tigger level(0/1) #else #define CONFIG_RESET_PIN PB01 //io pin #define CONFIG_RESET_TIME 08 //unit:second #define CONFIG_RESET_LEVEL 0 //tigger level(0/1) #endif OTA升级配置 <<<<<<<<< | 在 ``board_xxx_global_build_cfg.h`` 头文件中,OTA升级的代码如下所示: .. code-block:: c #define CONFIG_DOUBLE_BANK_ENABLE               0     //单双备份选择(若打开了改宏,FLASH结构变为双备份结构,适用于接入第三方协议的OTA, PS: JL-OTA同样支持双备份升级, 需要根据实际FLASH大小同时配置CONFIG_FLASH_SIZE) #define CONFIG_APP_OTA_ENABLE                0   //是否支持RCSP升级(JL-OTA) PID和VID配置 <<<<<<<<< | 在 ``board_xxx_global_build_cfg.h`` 头文件中,PID和VID的配置代码如下所示: .. code-block:: c //DON'T MODIFY THIS CONFIG EXCEPT SDK PUBLISHER #define CONFIG_CHIP_NAME                AC637N  //除了SDK发布者,请不要修改 //it can be modified before first programming,but keep the same as the original version #define CONFIG_PID                  AC637N        //烧写或强制升级之前可以修改,之后升级要保持一致 //it can be modified before first programming,but keep the same as the original version #define CONFIG_VID              0.01    //烧写或强制升级之前可以修改,之后升级要保持一致 .. admonition:: 注 同一个产品所有固件需要保证CHIP、PID、VID一致,否则将无法烧写和升级。 VM大小配置 <<<<<<<<< | VM大小配置的代码如下所示: .. code-block:: c //with single-bank mode,actual vm size should larger this VM_LEAST_SIZE,and dual bank mode,actual vm size equals this; #define CONFIG_VM_LEAST_SIZE                    8K uboot_debug、ota_debug.bin打印口配置 <<<<<<<<< | 在 ``board_xxx_global_build_cfg.h`` 头文件中,打印口配置的代码如下所示: .. code-block:: c //isd_download loader/uboot/update_loader debug io config //#define CONFIG_UBOOT_DEBUG_PIN                  PA05 //#define CONFIG_UBOOT_DEBUG_BAUD_RATE            1000000 其他配置 <<<<<<<<< | 其他配置请参考文件 ``board_xxx_global_build_cfg.`` 中注释进行配置。 第七步:编译及烧录工程 ############ | 1)首先确定板级配置,定位不同型号开发板的cfg.h文件名;(可参考APP 使用说明--工程配置) | 2)配置app选择,选择任意一种功能执行; | 3)模式选择:配对码必须与另一设备的配对码一致; | 4)配置对应case需求,配置模块必须是同名字,同地址; | 5)按下USB下载器的“Update”按键,当USB下载器绿灯不亮时,则可烧录下载,编译后烧录到AC63N开发板,在codeblocks的下方列表Build log呈现如图1.7所示的结果。 .. figure:: ../image/快速入门/图片7.png :width: 800 px :align: center 图1.7 .. admonition:: 注 点击“build”为编译当前cbp工程文件,并烧录到设备;当打开了2个及以上的cbp工程文件,点击“rebuild”,全局定义的进行编译,并烧录到设备。